package com.springboot.huli.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot.huli.entity.SysUser;
import com.springboot.huli.entity.vo.UserVo;
import com.springboot.huli.qpage.QPage;
import com.springboot.huli.util.Result;

public interface ISysUserService extends IService<SysUser> {

    /**
     * 根据账户获取用户信息
     * @param account
     * @return
     */
    SysUser getByAccount(String account);

    /**
     * 保存用户
     * @param user
     * @return
     */
    Result saveUser(UserVo user);

    /**
     * 获取所有的用户列表
     * @param
     * @param
     * @return
     */
    IPage getPageList(QPage qPage, UserVo userVo);

    /**
     * 根据用户iD获取用户信息
     * @param userid
     * @return
     */
    UserVo getUserRoleById(Integer userid);

    /**
     * 修改用户
     * @param user
     * @return
     */
    Result updateUser(UserVo user);


    /**
     * 启用账号或停用账号
     * @param user
     * @return
     */
    Result updateUserStatus(UserVo user);

    /**
     * 删除用户
     * @param user
     * @return
     */
    Result deleteUser(UserVo user);

    /**
     * 检测账户是否存在
     * @param account
     * @param type
     * @return
     */
    SysUser getExitAccount(String account, Integer type);



}
